** $VER: DumpDTAnim.guide 1.3 (5.1.97) ** DumpDTAnim 1.3 ** documentation ** (C) Copyright 1996/97 by Roland 'Gizzy' Mainz ** All Rights Reserved ===================== DumpDTAnim documentation ========================== =========================================================================== DataTypes application example. Creates single pictures and sounds from an "animation.datatype" subclass object and/or writes the selected animation part as an IFF FILM stream. Based on the CBM datatypes example source/ documents written by David Junod. =============================== Misc ====================================== =========================================================================== I write this tool to split animations (for those animations which have a matching "animation.datatype" (e.g. "anim.datatype", "cdxl.datatype", "mpegvideo.datatype", "mpegsystem.datatype", "picmovie.datatype", "anim.datatype", "film.datatype", "moviesetter.datatype" etc.) into their single components, pictures and sounds and/or write the selected part as an IFF FILM stream to file or clipboard. Thanks to Alexander G.M. Smith, who invented the IFF FILM format and send me detailed information about it. See AminetCD2:gfx/show/AGMSFilm2.lha, which includes tools for playing, cutting etc. IFF FILMs and more documents. The "film.datatype" (not included, see aminet:util/dtype/) is able to play back IFF FILM streams either from disk or from clipboard. This tool shows also the usage of datatypes object when saving data to IFF files (using the DTA_SourceType attribute with DTST_RAM). Now I fully support SAS/C for all my projects (SMakefile included). A matching DMakefile is on the way. ====================== Request for comments/help ========================== =========================================================================== 1. Who owns the rights on the "animation.datatype" (source-)code 2. dito. "amigaguide.(datatype|library)" 3. email address (or something equal) of David N. Junod For my address, email etc. see below... Wanted: Test files: These files __MUST__ be packed into a LhA archive (for compression and for checksumming. I won't like to search for "phantom" errors caused by corrupt files.) 1. Valid IFF LIST FILM files (ILBM's with interleaved 8SVX's) (for "film.datatype" testing). 2. CDXL files except "CALLNOW.XL" and "Walk.cdxl". 3. Small mpeg system streams (mpeg video + audio) (<= 2MB) Thanks !! =============================== Usage ===================================== =========================================================================== This tool is (currently) a shell only tool which takes the following arguments: template: NAME/A,MOVIE/S,STARTFRAME/K/N,STOPFRAME/K/N,SKIPFRAMES/K/N,IFFFILM=FILM/K, CLIPIFFFILM=CLIPFILM/S,CLIPIFFFILMUNIT=CLIPFILMUNIT/K/N,PICTUREPERFRAME/S, SAMPLEPERFRAME=SPF/S,GLOBALSAMPLE/S NAME -- file name to process. Must be an animation (or a movie (anim with sound), if you set the MOVIE switch). An existing and active datatypes subclass must exists, because this tool uses these "animation.datatype" subclasses to load the animation. MOVIE -- set if you want to process movies (e.g. animations with sound) STARTFRAME -- start of animation sequence to process Defaults to 1. STOPTFRAME -- stop of animation sequence to process Defaults to the maximum number of frames in the animation. SKIPFRAMES -- skip this amount of frames during scan. Default to 1. IFFFILM -- Write out an IFF FILM stream to file. CLIPIFFFILM -- Write out an IFF FILM stream to clipboard CLIPIFFFILMUNIT -- Clipboard number to use when writing an IFF FILM stream to clipboard. Defaults to 0. PICTUREPERFRAME -- for each frame of the animation, create a picture (it will be called "_picture_.ilbm" where is the filename part of the animation set by the NAME option and the time stamp of the frame.) SAMPLEPERFRAME SPF -- (for movies:) create single sample files from samples found in the frame. (it will be called "_sample_.8svx" where is the filename part of the animation set by the NAME option and the time stamp of the frame.) GLOBALSAMPLE -- create global sample from all samples collected. (the output file will be called "_sample_global.8svx" where is the filename part of the animation set by the NAME option. The tool creates then a row of pictures/samples and may be aborted using CTRL-C. ================================ BUGS ===================================== =========================================================================== | Warning: I've much trouble with the "picture.datatype" replacement | picture.datatype V43 (tested with 43.714,43.748,43.753). This tool | won't work properly with it. This is not a bug of "DumpDTAnim", | the problem is caused by the new "picture.datatype". - Be carefull when using CBM's "anim.datatype" (e.g. IFF ANIM-5 subclass). It's very buggy and may crash your system. This is not a bug of "DumpDTAnim" nor "animation.datatype". BUG REPORTS should contain your machine (type, CPU, FPU etc.), additional hardware (graphics card and the emulation software) and your used software (KICK/WB3.0/3.1, cybergfx etc.) ============================== History ==================================== =========================================================================== First public release - Corrected the sound period calculations. The value is now got from the system instead using a constant which was only on a PAL-System correct. - Implemented IFF FILM output format. - Implemented STARTFRAME, STOPFRAME, SKIPFRAMES options to read-out small parts of the animation. - Minor code cleanup. - The tool now returns correct error codes for most errors. - Recompiled with SAS/C 6.57 - Now works correctly with interleaved bitmaps. This fixes problems with film.datatype V1.3. This includes a small workaround for an OS-Bug: GetBitMapAttr( bm, BMA_WIDTH ) for non-chip-mem-BitMaps will return width * depth instead of depth. The code shows a future-compatible workaround. - Removed the limit of 100000 bytes for the global sample size. - Now prompts an error if you want to save a global sample from an animation without sound. - Fixed an very old bug: The animation.datatype starts timing with 0, not with 1. In V1.2 and before, the first frame got lost. =============================== TODO ====================================== =========================================================================== - WB support, adding my standart tool startup - Support for ANIM-0, ANIM-5 and ANIM-J (as output format). My "anim.datatype" can be used to read this formats. - Support for per-frame colormaps. - Add SPM output (for picmovie.datatype support) (SPM -- single picture movie -- is the input description "How to build" a movie or animation from single frames and sounds for my "picmovie.datatype" (e.g. it does the work of "DumpDTAnim" backwards)). - code cleanup - Fix some inconsistensies - autodoc - DMakefile - More time to rework this and other public projects =========================== Future ======================================== =========================================================================== I decided to contact the current owners of the "animation.datatype" code (AmigaTech., VisCorp etc.) because I want to do the official future development of "animation.datatype" (and "picture.datatype", if possible). If there are any comments/ideas, bug reports etc., send them to me. I'm going to write an article to explain how a subclass of "animation.datatype", the common pitfalls etc. Don't try this without my article. This text will also explain future improvements. ============================ Requirements ================================= =========================================================================== - You need at least Kick/WB 3.0. | Many people wrote me that they cannot find an "animation.datatype" class. | Only the 3.1 release contains it. (Subclasses of) animation.datatype | can run under 3.0. - "datatypes/animation.datatype", >= V39. "animation.datatype 40.7 (28.09.93)" requires itself some libraries/boopsi classes: - "realtime.library", >= V39 - for timing - "gadgets/tapedeck.gadget" (any version) - for the controls - You need "picture.datatype" < V43. The "extended" picture.datatype V43 caused a lot of touble (only if you use the PICTUREPERFRAME option, otherwise this tool should work nice). - If you want to dump out movies (e.g. animations with sound), you need the "sound.datatype" class in your environment. =========================== Author's Request ============================== =========================================================================== By releasing this program I do not place any obligations on you, feel free to share this program with your friends (and enemies). If you want to blame me, report any bugs, or wants a new version send your letter to: Roland Mainz Hohenstaufenstra 52388 N rvenich GERMANY Phone: (+49)(0)2426/4111 EMAIL is also available: GISBURN@w-specht.rhein-ruhr.de If you want to send me attachments larger than 1MB (up to 5MB, more with my permission): Up to March 1997 I'm reachable using this email address, too: Reinhold.A.Mainz@KBV.DE | Please put your name and address in your mails ! | German mailers should add their phone numbers. | See BUGS section above when submitting bug reports. Sorry, but I can only look once a week for mails. If you don't hear something from me within three weeks, please send your mail again (but watch about new releases) (problems with this email port are caused by reconfigurations, hackers, network problems etc.). The entire "DumpDTAnim" package may be noncommercially redistributed, provided that the package is always distributed in it's complete form (including it's documentation). A small copy fee for media costs is okay but any kind of commercial distribution is strictly forbidden! Comments and suggestions how to improve this program are generally appreciated! Thanks to David Junod, who wrote the animation.datatype and lots of the datatypes example code, Alexander G. M. Smith for his IFF FILM format and the documents about it, Matt Dillon for his DICE, Olaf 'Olsen' Barthel for his help, ideas and some text clips from his documentations.